/* 
 * File:   Color.h
 * Author: a1574256
 *
 * Created on November 28, 2012, 2:58 PM
 */

#ifndef COLOR_H
#define	COLOR_H

class Color
{
    double d_r;
    double d_g;
    double d_b;
    
    double d_h;
    double d_s;
    double d_v;
    
    public:
        Color(double h, double s, double v);
        
        double r();
        double g();
        double b();
        
        double h();
        double s();
        double v();      
        
        
        void changeHue(double h);
        void changeSat(double s);
        void changeVal(double v);
        
    
    private:
        void updateRgb();
        void updateHsv();
};

inline double Color::r()
{
    return d_r;
}

inline double Color::g()
{
    return d_g;
}

inline double Color::b()
{
    return d_b;
}

inline double Color::h()
{
    return d_h;
}

inline double Color::s()
{
    return d_s;
}

inline double Color::v()
{
    return d_v;
}

#endif	/* COLOR_H */

